<?php
/**
 * class LRModel
 *  модель 
 */
class ProductModel extends Model implements IFeed{

    function __construct() {
        parent::__construct();
        $this->addObserver($this->feedobserver);
    }
    /**
     * Возвращает все продукты по заданному критерию
     * @param type $criteria
     * @return type 
     */
    public function getProductsByCriteria($criteria) {
        
        return $this->db->query("SELECT * FROM products");     
    }
    /**
     * Получает один продукт по его id
     * @param type $id
     * @return type 
     */
    public function getProductById($id) {
        $data = $this->db->query("SELECT * FROM products WHERE product_id='" . intval($id) . "' LIMIT 1");
        return $data->row;
    }
    /**
     * Добавляет продукт в БД
     * @param type $data
     * @return type 
     */
    public function insertProduct($data) {

        $result = $this->db->query("INSERT INTO products (name, rubric, owner, cityfrom, price) VALUES ('" . $data['name'] . "', '" . $data['rubric'] . "', '" . $data['owner'] . "', '" . $data['cityfrom'] . "', '" . $data['price'] . "')");
        if ($result)
            $this->fireEvent('feed', array('what' => mysql_insert_id(), 'action' => __METHOD__));
        return $result;
    }
    /**
    * Реализация интерфейса IFeed
    * @return type 
    */
    public function getFeedInfo($actionName, $what_id, $num = 1) {
        switch ($actionName) {
            case 'insertProduct':
                if ($num == 1) {
                    return array('text' => "%who добавил продукт %what", 'who_link' => 'LR/profile/show/%who', 'what_link' => 'Product/show/%what');
                } else {
                    return array('text' => '%who добавил '.$num.' <a href='. HTTP_SERVER . 'Product/show>продукта</a>', 'who_link' => 'LR/profile/show/%who', 'what_link' => 'Product/show');
                    
                }


            default:
                return;
        }
    }
    /**
    * Реализация интерфейса IFeed
    * @return type 
    */
    public function getNameById($id) {
        
        if($data = $this->getProductById($id))
        {
            return $data['name'];
        }
        else
            return false;
    }
}




?>